home *** CD-ROM | disk | FTP | other *** search
/ SuperHack / SuperHack CD.bin / CODING / CPP / WCLASS95.ZIP / ADA1.SCT < prev    next >
Encoding:
Text File  |  1995-07-26  |  3.2 KB  |  88 lines

  1. NO_OUTPUT_BEGIN
  2. (1) Enter the basic Ada types in the attribute and operation specification forms: BOOLEAN, CHARACTER,
  3. INTEGER, FLOAT, POSITIVE, NATURAL, DURATION, STRING.
  4.  
  5. (2) Enter operation parameters in the operation specification form parameter_type parameter_name.  Then use
  6. the variable -ADA_OPERATION_PARAMETERS.
  7. NO_OUTPUT_END
  8.  
  9. [with AGGREGATION_ONE_CLASS$s;]
  10. [with ASSOCIATION_ONE_CLASS$s;]
  11. [with AGGREGATION_MANY_CLASS$s;]
  12. [with ASSOCIATION_MANY_CLASS$s;]
  13.  
  14. package CLASS_NAME$s is
  15.   type CLASS_NAME is private;
  16.   procedure initialize ( The_$CLASS_NAME : in out CLASS_NAME ;
  17.             [ a$ATTRIBUTE_NAME : in ATTRIBUTE_TYPE ;DELETE_LAST_SYMBOL] );
  18.   
  19.   [-- In Input Parameters: PASCAL_OPERATION_PARAMETERS 
  20.    -- Out Output Parameter Type: OPERATION_RETURN_TYPE
  21.    procedure OPERATION_NAME ADA_OPERATION_PARAMETERS ;
  22.   ]
  23.  
  24. [                       --Get accessor function for ATTRIBUTE_NAME
  25.   function get_$ATTRIBUTE_NAME ( The_$CLASS_NAME : in CLASS_NAME ) return ATTRIBUTE_TYPE;
  26. ]
  27.             
  28. [                       --Set accessor procedure for ATTRIBUTE_NAME
  29.   procedure set_$ATTRIBUTE_NAME ( The_$CLASS_NAME : in out CLASS_NAME ;
  30.               a$ATTRIBUTE_NAME : in ATTRIBUTE_TYPE );
  31. ]       
  32.  
  33.   --OPERATION_EXCEPTION_NAME : exception;  --update as required
  34.  
  35.   private
  36.     [type ASSOCIATION_MANY_CLASS$_Array is array (INTEGER range 1..6) of ASSOCIATION_MANY_CLASS$s.ASSOCIATION_MANY_CLASS; ]
  37.     [type AGGREGATION_MANY_CLASS$_Array is array (INTEGER range 1..6) of AGGREGATION_MANY_CLASS$s.AGGREGATION_MANY_CLASS ; ]
  38.     type CLASS_NAME is record
  39.     [ ATTRIBUTE_NAME : ATTRIBUTE_TYPE := ATTRIBUTE_INITIAL_VALUE; ]
  40.     [ ASSOCIATION_ONE_NAME : ASSOCIATION_ONE_CLASS$s.ASSOCIATION_ONE_CLASS ; ]
  41.     [ AGGREGATION_ONE_NAME : AGGREGATION_ONE_CLASS$s.AGGREGATION_ONE_CLASS ; ]
  42.     [ ASSOCIATION_MANY_NAME : ASSOCIATION_MANY_CLASS$_Array ; ]
  43.     [ AGGREGATION_MANY_NAME : AGGREGATION_MANY_CLASS$_Array ; ]
  44.     end record;
  45.  
  46. end CLASS_NAME$s;
  47.  
  48. ----------------------------------------------------------------------------------
  49. package body CLASS_NAME$s is
  50.  
  51. procedure initialize ( The_$CLASS_NAME : in out CLASS_NAME ;
  52.             [ a$ATTRIBUTE_NAME : in ATTRIBUTE_TYPE ;DELETE_LAST_SYMBOL] ) is
  53. begin
  54.   [The_$CLASS_NAME.ATTRIBUTE_NAME := a$ATTRIBUTE_NAME ; ]
  55. end initialize;
  56.  
  57. [---------------------------------------------------------------------------------- 
  58.             --Get accessor function for ATTRIBUTE_NAME
  59. function get_$ATTRIBUTE_NAME ( The_$CLASS_NAME : in CLASS_NAME ) return ATTRIBUTE_TYPE is
  60. begin
  61.   return The_$CLASS_NAME.ATTRIBUTE_NAME;
  62. end get_$ATTRIBUTE_NAME;
  63. ]
  64.  
  65. [---------------------------------------------------------------------------------- 
  66.             --Set accessor procedure for ATTRIBUTE_NAME
  67. procedure set_$ATTRIBUTE_NAME ( The_$CLASS_NAME : in out CLASS_NAME ;
  68.             a$ATTRIBUTE_NAME : in ATTRIBUTE_TYPE ) is
  69. begin
  70.   The_$CLASS_NAME.ATTRIBUTE_NAME := a$ATTRIBUTE_NAME;
  71. end set_$ATTRIBUTE_NAME; 
  72. ]       
  73.  
  74.  
  75. [---------------------------------------------------------------------------------
  76.  
  77. -- In Input Parameters: PASCAL_OPERATION_PARAMETERS 
  78. -- Out Output Parameter Type: OPERATION_RETURN_TYPE
  79. procedure OPERATION_NAME ADA_OPERATION_PARAMETERS is 
  80. begin
  81.   null;
  82. end OPERATION_NAME;
  83. ]
  84.  
  85. end CLASS_NAME$s;
  86.  
  87.  
  88.